Expose live-gated option overlay profile metadata#73
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 970b5da92d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ibit_zscore_exit_controls = _extract_ibit_zscore_exit_control_fields(extra_variables) | ||
| _reject_direct_dca_extra_variables(extra_variables) | ||
| _reject_direct_ibit_zscore_exit_extra_variables(extra_variables) | ||
| _reject_research_only_extra_variables(extra_variables) |
There was a problem hiding this comment.
Reject nested research-only variables in service-target patches
This rejection only inspects the top-level extra_variables parsed from the new request. In the IBKR auto path, an existing CLOUD_RUN_SERVICE_TARGETS_JSON is loaded below and _patch_service_targets() writes {**entry, **replacement}, so any existing INCOME_THRESHOLD_USD/OPTION_* fields inside the matched service-target entry are carried into the new target without validation; I verified a target with existing INCOME_THRESHOLD_USD still builds and renders it under CLOUD_RUN_SERVICE_TARGETS_JSON. That leaves the research-only settings stored live despite this new gate, so the nested service-target entry needs to be filtered or validated too.
Useful? React with 👍 / 👎.
Summary
Tests